Data objects 数据对象

[试验]

BPMN 提供了一种功能,可以在流程定义或子流程中定义数据对象。根据BPMN 规范,流程定义可以包含复杂 XML 结构, 可以导入 XSD 定义。对于 Activiti 来说,作为 Activiti 首次支持的数据对象,可以支持如下的 XSD 类型:

  1. <dataObject id="dObj1" name="StringTest" itemSubjectRef="xsd:string"/>
  1. <dataObject id="dObj2" name="BooleanTest" itemSubjectRef="xsd:boolean"/>
  1. <dataObject id="dObj3" name="DateTest" itemSubjectRef="xsd:datetime"/>
  1. <dataObject id="dObj4" name="DoubleTest" itemSubjectRef="xsd:double"/>
  1. <dataObject id="dObj5" name="IntegerTest" itemSubjectRef="xsd:int"/>
  1. <dataObject id="dObj6" name="LongTest" itemSubjectRef="xsd:long"/>

数据对象定义会自动转换为流程变量,名称与 ‘name’ 属性对应。 除了数据对象的定义之外,Activiti 也支持使用扩展元素来为这个变量赋予默认值。下面的 BPMN 片段就是对应的例子:

  1. <process id="dataObjectScope" name="Data Object Scope" isExecutable="true">
  2. <dataObject id="dObj123" name="StringTest123" itemSubjectRef="xsd:string">
  3. <extensionElements>
  4. <activiti:value>Testing123</activiti:value>
  5. </extensionElements>
  6. </dataObject>